﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

public partial class Aplicacion_Vista_Proyectos : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        String nomRol = (String)Session["nombreRol"];
        String nomU = (String)Session["nombreUsuario"];

        if (nomRol == null || nomRol.Length <= 0 || nomU == null || nomU.Length <= 0)
        {
            Response.Redirect("Inicio.aspx");
        }

        //Verificacion de sesion---------------------------------------------------------

        ControladorProyectos p = new ControladorProyectos();
        p.cargarProyectos(GridView1);

        return;
    }
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Session["nombreRol"] = null;
        Session["nombreUsuario"] = null;
        Session["idRol"] = null;
        Session.Abandon();
        Response.Redirect("Inicio.aspx", true);
    }
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "agregar materiales")
        {
            DataTable dt = (DataTable)GridView1.DataSource;
            int page = GridView1.PageIndex;
            int numPages = GridView1.PageSize;
            int preindex = Int16.Parse(e.CommandArgument.ToString());
            int index = preindex + page * numPages;
            String idProyecto = (String)(dt.Rows[index].ItemArray[0]);
            String nombreProy = (String)(dt.Rows[index].ItemArray[1]);
            String tProy = (String)(dt.Rows[index].ItemArray[2]);
            Response.Redirect("IngresarMaterial.aspx?i="+idProyecto+"&n="+nombreProy+"&d="+tProy+"");

        }

        if (e.CommandName == "editar proyecto")
        {
            DataTable dt = (DataTable)GridView1.DataSource;
            int page = GridView1.PageIndex;
            int numPages = GridView1.PageSize;
            int preindex = Int16.Parse(e.CommandArgument.ToString());
            int index = preindex + page * numPages;
            String idProyecto = dt.Rows[index].ItemArray[0].ToString();
            String nombreProyecto = dt.Rows[index].ItemArray[1].ToString();
            Response.Redirect("EditarProyecto.aspx?i=" + idProyecto + "&n="+nombreProyecto+"");
            
        }

        if (e.CommandName == "eliminar")
        {

            
            DataTable dt = (DataTable)GridView1.DataSource;
            int page = GridView1.PageIndex;
            int numPages = GridView1.PageSize;
            int preindex = Int16.Parse(e.CommandArgument.ToString());
            int index = preindex + page * numPages;
            String codigoProyecto = (String)(dt.Rows[index].ItemArray[0]);
            String nombreProyecto = (String)(dt.Rows[index].ItemArray[1]);
            //ControladorEliminarProyecto pro = new ControladorEliminarProyecto();
            //pro.eliminarProyecto(codigoProyecto, nombreProyecto, TextBox2);
            //dt.Rows.RemoveAt(index);
            //GridView1.DataSource = dt;
            //GridView1.DataBind();
            Response.Redirect("EliminarProyecto.aspx?i=" + codigoProyecto +"&n=" + nombreProyecto + "");
        }

        if (e.CommandName == "informacion")
        {
            DataTable dt = (DataTable)GridView1.DataSource;
            int page = GridView1.PageIndex;
            int numPages = GridView1.PageSize;
            int preindex = Int16.Parse(e.CommandArgument.ToString());
            int index = preindex + page * numPages;
            int codigoProy = Int16.Parse((String)(dt.Rows[index].ItemArray[0]));
            
            Response.Redirect("infoProyecto.aspx?i=" + codigoProy + "");

        }


        if (e.CommandName == "asignar materiales al proyecto")
        {
            DataTable dt = (DataTable)GridView1.DataSource;
            int page = GridView1.PageIndex;
            int numPages = GridView1.PageSize;
            int preindex = Int16.Parse(e.CommandArgument.ToString());
            int index = preindex + page * numPages;
            String idProyecto = (String)(dt.Rows[index].ItemArray[0]);
            String nombreProy = (String)(dt.Rows[index].ItemArray[1]);
            String tProy = (String)(dt.Rows[index].ItemArray[2]);
            Response.Redirect("AsignarMaterialesAlProyecto.aspx?i="+idProyecto+"&n="+nombreProy+"&d="+tProy+"");

        }

        if (e.CommandName == "cambioEstado")
        {
            DataTable dt = (DataTable)GridView1.DataSource;
            int page = GridView1.PageIndex;
            int numPages = GridView1.PageSize;
            int preindex = Int16.Parse(e.CommandArgument.ToString());
            int index = preindex + page * numPages;
            String idProyecto = (String)(dt.Rows[index].ItemArray[0]);
            String nombreProy = (String)(dt.Rows[index].ItemArray[1]);
            String idEstado = (String)(dt.Rows[index].ItemArray[5]);
            String tiProy = (String)(dt.Rows[index].ItemArray[2]);
            String idRem = "";
            if (tiProy == "Proyecto Social")
            {
                idRem = "1";
            }
            else
            {
                idRem = "6";
            }

            Response.Redirect("CambioEstadoProyecto.aspx?i="+idProyecto+"&n="+nombreProy+"&e="+idEstado+"&idRem="+idRem+"");

        }

        
        

    }
    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridView1.PageIndex = e.NewPageIndex;
        GridView1.DataBind();
    }

 
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.Cells.Count == 13)
        {
            int i = e.Row.RowIndex;
            if (i >= 0)
            {
                String idEstado = GridView1.DataKeys[i].Values["idEstado"].ToString();
                ValidacionRegex val = new ValidacionRegex();
                if (val.validarNum(idEstado))
                {
                    if (idEstado == "1")
                    {
                        e.Row.Cells[11].Visible = false;
                    }
                    if (idEstado == "2")
                    {
                        e.Row.Cells[7].Visible = false;
                        e.Row.Cells[8].Visible = false;
                        e.Row.Cells[10].Visible = false;
                    }
                    if (idEstado == "3")
                    {
                        e.Row.Cells[7].Visible = false;
                        e.Row.Cells[8].Visible = false;
                        e.Row.Cells[10].Visible = false;
                        e.Row.Cells[11].Visible = false;
                        e.Row.Cells[12].Visible = false;
                    }

                }
            }
            
        }

        
    }
}